home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / -archivi / -recent2 / arexxcomm.lha / ARexxComm-S.e < prev    next >
Text File  |  1999-03-21  |  2KB  |  48 lines

  1. /* ARexxComm-S - use in conjunction with ARexxComm-R */
  2.  
  3. MODULE 'CSH/arexxcomm'
  4.  
  5. PROC main()
  6.  DEF portinfo=NIL:PTR TO rxcom, portname=NIL:PTR TO CHAR, toport=NIL:PTR TO CHAR,
  7.      wasack=FALSE, command:PTR TO CHAR, args:PTR TO CHAR
  8.     portname:='TestHost'; toport:='ExampleHost'
  9.  
  10.     NEW portinfo.createPort(portname,{portinfo})
  11.     IF portinfo
  12.         WriteF('Sent "SAYYO TestHost"\n')
  13.         IF (portinfo.sendRexxMsg(toport,'SAYYO TestHost'))=FALSE THEN WriteF('Could not be recieved!\n')
  14.  
  15.         Delay(50)
  16.         WriteF('Sent "SAYHI"\n')
  17.         IF (portinfo.sendRexxMsg(toport,'SAYHI'))=FALSE
  18.             WriteF('Could not be recieved!\n')
  19.         ELSE
  20.              /* crude example of waiting to hear our message was understood - ignores all other messages (bad in real program) */
  21.             WriteF('We have \d messages not yet acknowledged.\n',portinfo.howManyAcksLeft())
  22.             WriteF('\nWaiting to be told our message was recieved...\n')
  23.             REPEAT
  24.                 command,args,wasack:=portinfo.waitForRexxMsg(TRUE)
  25.                 IF command THEN portinfo.ackRexxMsg(TRUE)        ->if get any real message then claim to know what it means (don't do in real programs!)
  26.                 IF wasack THEN WriteF('Recieved acknowledgement!\n')
  27.             UNTIL portinfo.howManyAcksLeft()=0
  28.             WriteF('\nWe have \d messages not yet acknowledged.\n',portinfo.howManyAcksLeft())
  29.         ENDIF
  30.  
  31.         Delay(50)
  32.         WriteF('Sent "Unknown"\n')
  33.         IF (portinfo.sendRexxMsg(toport,'Unknown'))=FALSE THEN WriteF('Could not be recieved!\n')
  34.  
  35.         Delay(150)
  36.         WriteF('We have \d messages not yet acknowledged.\n',portinfo.howManyAcksLeft())
  37.         WriteF('Sent "QUIT"\n')
  38.         IF (portinfo.sendRexxMsg(toport,'QUIT'))=FALSE THEN WriteF('Could not be recieved!\n')
  39.  
  40.         WriteF('We have \d messages not yet acknowledged.\n',portinfo.howManyAcksLeft())
  41.         WriteF('Waiting to recieve a message (can use Ctrl-C)!\n')
  42.         portinfo.waitForRexxMsg()
  43.  
  44.         WriteF('We have \d messages not yet acknowledged.\n',portinfo.howManyAcksLeft())
  45.         END portinfo
  46.     ENDIF
  47. ENDPROC
  48.